NVM Express (NVMe) is an interface that allows host software to communicate with a non-volatile memory subsystem, i.e., a NVMe subsystem. Unlike legacy singular Small Computer System Interface (SCSI) entities, NVMe subsystems may include multiple controllers, multiple namespaces and their connectivity. NVMe over Fabric (NVMeoF) is a transport mechanism to expose a remote device over a network fabric to a local host, scaling out to large numbers of NVMe devices and extending the distance within a datacenter over which NVMe devices and NVMe subsystems can be accessed. There is a need to create an abstracted or virtual NVMe subsystem, carved out from a pool of physical devices which are exposed via NVMeoF connectivity.